package com.sdry.mapper.llm;

import java.util.List;
import java.util.Map;

import com.sdry.model.llm.Department;
import com.sdry.model.llm.Employee;
import com.sdry.model.llm.User;

/** 
* 部门mapper
* @author lian 
* @version 1.0
* @time 2018年10月17日 上午12:43:03
*/
public interface DepartmentMapper {

	/**
	 * 获取部门总数
	 * @param dep 部门实体类
	 */
	int countDep(Department dep);

	/**
	 * 分页查询部门信息
	 * @param map 查询条件集合
	 */
	List<Department> listPageDep(Map<String, Object> map);

	/**
	 * 新增部门
	 * @param dep 部门实体类
	 */
	int insertDep(Department dep);

	/**
	 * 修改部门
	 * @param dep 部门实体类
	 */
	int updateDep(Department dep);

	/**
	 * 删除部门
	 * @param did 部门ID
	 */
	int deleteDep(Long did);
	
	/**
	 * 获取所有部门
	 */
	List<Department> listAllDepartment();

	/**
	 * 根据ID查询部门
	 * @param did
	 * @return
	 */
	Department getDepartmentByDid(Long did);

	/**
	 * 查询部门员工数量
	 * @param dep
	 * @return
	 */
	int countUserByDep(Department dep);

	/**
	 * 分页查询部门员工的数据
	 * @param map
	 * @return
	 */
	List<User> listPageUserByDepartment(Map<String, Object> map);

	/**
	 * 
	 * @param emp
	 * @return
	 */
	int deleteUserInEmp(Employee emp);

	/**   
	 * 根据部门名称查询部门信息
	 * @Title:getDepartmentByDname   
	 * @param depName
	 * @return  Department           
	 */
	Department getDepartmentByDname(String depName);

	/**   
	 * 根据部门名称查询部门信息   
	 * @param name
	 * @return List<Department>            
	 */
	List<Department> getDepartmentByDname2(String name);     
}
